package com.alibaba.org.domain;

import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;

import java.util.ArrayList;
import java.util.List;


@Data //提供了getter setter 方法 、equals 、hashcode 、 tostring 、 无参构造方法
// @AllArgsConstructor 全参构造
// @NoArgsConstructor 无参构造
// @EqualsAndHashCode 提供对应的equals和hashcode方法
public class Department {
  //部门id
  private Long id;
  //部门编号
  private String sn;
  //部门名称
  private String name;
 //部门路径
  private String dirPath;
  //部门状态
  private Long state;
  //部门经理id
  private Long manager_id;
  //部门经理对象
  private Employee manager;
  //上级部门ID
  private Long parent_id;
  //上级部门对象
  private Department parent;
  //用于封装当前部门子部门
  //部门树最后一级没有数据就不显示
  @JsonInclude(JsonInclude.Include.NON_EMPTY)
  private List<Department> children = new ArrayList<>();
}
